// Rust中的引⽤和借⽤规则
// 在Rust中，引⽤和借⽤是语⾔的重要特性，⽤于确保内存安全和避免数据竞态。引⽤指向某个值的指针
// ，⽽借⽤是在⼀段代码中暂时使⽤另⼀段代码的数据。
// ⽣命周期
// 在Rust中，所有引⽤都有⽣命周期，⽤于确定引⽤的有效范围。⽣命周期通过泛型参数表⽰，确保引⽤
// 在其作⽤域内有效
#[cfg(test)]
mod test {
    fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
        println!("x:{},y:{}",x,y);
        if x.len() > y.len() { x } else { y }
    }

    #[test]
    fn main() {
        let str1 = String::from("aaa");
        let str2 = String::from("bb");
        println!("{}",longest(&str1,&str2))  //在 Rust 中，变量前加 & 表示借用（borrowing）
    }
}
